package Generador;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
/**
 *
 * @author jorgelainfiesta
 * @date Jul 20, 2012
 */
public class GenerarArray {
    
    /**
     * Retorna un arreglo con la cantidad de números aleatorios especificada
     * @param Cantidad, máximo 2000
     * @return Arreglo con Cantidad números aleatorios leídos del archivo
     */
    public static Integer[] generarAleatorio(int amount){
        return arrayDeArchivo(amount, "numerosAleatorio.txt");
    }
    /**
     * Retorna un arreglo con la cantidad de números ordenados especificada
     * @param Cantidad, máximo 2000
     * @return Arreglo con Cantidad números ordenados leídos del archivo
     */
    public static Integer[] generarOrdenado(int amount){
        return arrayDeArchivo(amount, "numerosOrdenado.txt");
    }
    /**
     * Retorna un arreglo con números generados a partir del archivo especificado
     * @param amount
     * @param filename
     * @return Arreglo con amount números del archivo filename
     */
    private static Integer[] arrayDeArchivo(int amount, String filename){
        if(amount<=0 || amount>2000)
            return null;
        Integer[] numeros = new Integer[amount];
        try{
            //Preparamos archivo a leer
            BufferedReader br =
                new BufferedReader(
                new InputStreamReader(
                new DataInputStream(
                new FileInputStream(filename))));
            //Leemos amount elementos
            for(int i = 0; i<amount; i++){
                String numero = br.readLine();
                numeros[i] = Integer.parseInt(numero); //Convertimos a int para agregar
            }
            br.close();
        }catch (Exception e){
            
        }
        return numeros;
    }
}
